package summary.user;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

/**
 * @Author admin
 * @Date 2019/4/16 14:12
 * 工具类的具体实现类，用文件方式
 * 字节流：一般用来操作图片和视频
 *       基本字节输入输出流 FileInputStream/FileOutputStream
 *       字节缓冲流：BufferedInputStream/BufferedOutputStream
 *       效率最高的是：用字节缓冲流一次读写一个字节数组
 * 字符流：一般用来操作文本
 *         基本字符流：FileReader/FileWriter
 *         字符缓冲流：BufferedReader/BufferedWriter
 *         效率最高的是用字符缓冲流一次读写一行文本
 *         若出现乱码（编码问题），则需要用到转换流：InputStreamReader/OutputStreamWriter
 */
public class UserDaoIO implements UserDao{

    @Override
    public void register(User user) {
        /*把user对象写入文件：
        * 用户名和密码 email之间分隔符
        * 一个用户放一行
        * 不用考虑用户名是否重复*/
        /*使用字符缓冲流一次读写一行文本，默认使用utf-8，所以不用转换流*/
        Writer out = null;
        BufferedWriter bw = null;
        try {
            out = new FileWriter("user.txt");
            bw = new BufferedWriter(out);
            String s = user.getName()+"-"+user.getPassword()+"-"+user.getEmail();
            bw.write(s);
            bw.newLine();
            bw.flush();
            System.out.println("注册成功！");
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (bw!=null){
                try {
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    @Override
    public User login(String name, String password) {
        return null;
    }
}
